﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Gnosis.Babel;

namespace Gnosis.SQLite
{
    public class IntegerValue
        : NumericValue, IInteger
    {
        public IntegerValue(string prefix)
            : base(prefix)
        {
        }

        protected IntegerValue(string prefix, string infix, string postfix)
            : base(prefix, infix, postfix, new List<IExpression>())
        {
        }

        protected IntegerValue(string prefix, string infix, string postfix, IExpression expression)
            : base(prefix, infix, postfix, new List<IExpression> { expression })
        {
        }

        protected IntegerValue(string prefix, string infix, string postfix, IList<IExpression> expressions)
            : base(prefix, infix, postfix, expressions)
        {
        }

        new public IIntegerColumnName As(string alias)
        {
            return new IntegerColumnName(ToString(), alias);
        }

        INumericColumnName INumeric.As(string alias)
        {
            return new IntegerColumnName(ToString(), alias);
        }
    }
}
